package com.situ.day8;

import org.junit.Test;

import java.util.Scanner;

public class Demo {

    @Test
    public void test1() {
        //int[][] array = {{1,2},{2,3},{3,4,5}};
        int[][] array = new int[3][];
        array[0] = new int[2];
        array[1] = new int[2];
        array[2] = new int[3];
        array[0][0] = 23;
        array[0][1] = 12;
        array[1][0] = 22;
        array[1][1] = 22;
        array[2][0] = 21;
        array[2][1] = 22;
        array[2][2] = 23;
        System.out.println(array.length);//3
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.println(array[i][j]);
            }
        }
    }

//    1、int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
//    求出上面数组中0-9分别出现的次数
    @Test
    public void test2() {
        int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
        int count0 = 0;
        int count1 = 0;
        int count2 = 0;
        int count3 = 0;
        for (int i = 0; i < scores.length; i++) {
            switch (scores[i]) {
                case 0:
                    count0++;
                    break;
                case 1:
                    count1++;
                    break;
                case 2:
                    count2++;
                    break;
                case 3:
                    count3++;
                    break;
            }
        }

        System.out.println("0出现"+count0+"次");
        System.out.println("1出现"+count1+"次");
        System.out.println("2出现"+count2+"次");
        System.out.println("3出现"+count3+"次");
    }

    @Test
    public void test3() {
        int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
        int[] counts = new int[10];
        //int count0 = 0;  counts[0]
        //int count1 = 0;  counts[1]
        //int count2 = 0;  counts[2]
        //int count3 = 0;  counts[3]
        for (int i = 0; i < scores.length; i++) {
            counts[scores[i]]++;
        }

        //增强的for循环
        /*for (int count : counts) {
            System.out.println("1出现的3次");
        }*/
        for (int i = 0; i < counts.length; i++) {
            System.out.println(i + "出现的"+counts[i]+"次");
        }

    }

//    2、int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
//    要求求出其中的奇数个数和偶数个数。
    @Test
    public void test11() {
        int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
        int oddCount = 0;
        int evenCount = 0;
        for (int score : scores) {
            if (score % 2 == 0) {
                evenCount++;
            } else {
                oddCount++;
            }
        }
        System.out.println("奇数个数： " + oddCount);
        System.out.println("偶数个数： " + evenCount);
    }

    //
    public static void main(String[] args) {

    }

    //12、题目：一个任意一个字符串，判断它是不是回文。
    @Test
    public void test333(){
        //String str = "abcba";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入字符串：");
        String str = scanner.next();
        char[] array = str.toCharArray();
        //boolean flag = true;
        //初始认为是回文
        boolean isHuiWen = true;
        for (int i = 0; i < array.length / 2; i++) {
            if (array[i] != array[array.length - i - 1]) {
                isHuiWen = false;
                //找到一个反例，就证明一定不是回文，后面不需要再找了
                break;
            }
        }

        //初始认为是回文，遍历完了，没有找到任何一个反例，这个字符串就是回文
        if (isHuiWen) {
            System.out.println("是回文");
        } else {
            System.out.println("不是回文");
        }
    }

    //13、输入一行字符串，分别统计出其中英文字母、空格、数字和其它字符的个数。
    @Test
    public void test45() {
        // shdfiey834t t8*^*SAHSIO sd889
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入字符串：");
        String str = scanner.nextLine();
        System.out.println(str);
        char[] array = str.toCharArray();
        int letterCount = 0;
        int spaceCount = 0;
        int digitCount = 0;
        int otherCount = 0;
        for (int i = 0; i < array.length; i++) {
            if ((array[i] >= 'A' && array[i] <= 'Z') || (array[i] >= 'a' && array[i] <= 'z')) {
                letterCount++;
            } else if (array[i] == ' ') {//"" ' '
                spaceCount++;
            } else if (array[i] >= '0' && array[i] <= '9') {
                digitCount++;
            } else {
                otherCount++;
            }
        }
        System.out.println("字母出现次数：" + letterCount);
        System.out.println("空格出现次数：" + spaceCount);
        System.out.println("数字出现次数：" + digitCount);
        System.out.println("其他出现次数：" + otherCount);

    }
}
